package pxn;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
//import java.util.*;
import javax.swing.*;





public class Login extends JFrame{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 登入界面   
	 * 1.检查网络
	 * 2.连接MYSQL
	 * 
	 */
	//JPanel panel = new JPanel();
	Font d = new Font("楷体", Font.BOLD, 22);
	Font f = new Font("楷体", Font.BOLD, 15);
	JLabel userlogin=new JLabel("用户登入");
	JLabel username=new JLabel("用户：");
	JLabel password=new JLabel("密码：");
	JTextField name = new JTextField();
	JTextField pass = new JPasswordField();
	JLabel usertyle = new JLabel("用户类型");
	JComboBox<String> box = new JComboBox<String>(new String[]{"管理员","普通用户"} );
	//??JComboBox<Object>
	JButton login = new JButton("登入");
	JButton shezhi= new JButton("设置");
	JButton ljtest= new JButton("连接测试");
	//加一个单选框  是否保存账号密码
	
	
	public Login(String string) {
		// TODO 自动生成的构造函数存根
		
		super(string);
		// 设置对象 窗口大小 位置
		this.setSize(500, 300);
		this.setLocation(450, 200);
		//this.setLocation(null);  不是居中吗？
		//this.setBounds(200, 200, 200, 200);  同上两条指令  求区别
		//设置退出
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//取消框架格式
		this.setLayout(null);
		//panel.setLayout(null);
		//JPanel??
		//设置组件 位置、大小和字体
		userlogin.setBounds(140, 30, 150, 30);
		userlogin.setFont(d);
		username.setBounds(50, 80, 100, 30);
		username.setFont(f);
		password.setBounds(50, 120, 100, 30);
		password.setFont(f);
		usertyle.setBounds(70, 160, 100, 30);
		usertyle.setFont(f);
		name.setBounds(140, 80, 180, 30);
		name.setFont(f);
		pass.setBounds(140, 120, 180, 30);
		box.setBounds(170, 160, 100, 30);
		box.setFont(f);
		login.setBounds(100, 200, 80, 30);
		login.setFont(f);
		shezhi.setBounds(220, 200, 80, 30);
		shezhi.setFont(f);
		ljtest.setBounds(350, 200, 80, 30);
		// 添加对象
		/*panel.add(userlogin);
		panel.add(username);
		panel.add(password);
		panel.add(usertyle);
		panel.add(name);
		panel.add(pass);
		panel.add(box);
		panel.add(login);
		this.add(panel);
		panel.setVisible(true);*/
		this.add(userlogin);
		this.add(username);
		this.add(password);
		this.add(usertyle);
		this.add(name);
		this.add(pass);
		this.add(box);
		this.add(login);
		this.add(shezhi);
		this.add(ljtest);
		shezhi.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				//Shezhi.getShezhi().setVisible(true);;
				Shezhi.getShezhi().setVisible(true);
				
			}
		});
		login.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				//登入 要怎么做？
				//1获取配置文件的数据  没有？？则设置默认  有则 获取数据 
				//2链接  链接失败  提示框  
				//链接成功 获取账号密码  对比 账号密码 打开主窗口
				Pz pz=Pz.getPz();
				pz.getKey();

				if (Shezhi.ADDRESS==""&&Shezhi.PORT==""&&Shezhi.MYSQLNAME==""&&Shezhi.USER=="") {
					//弹出窗口 提示 设置不完整  全部为空时会默认设置
					
					if (Shezhi.ADDRESS==""&Shezhi.PORT==""&Shezhi.MYSQLNAME==""&Shezhi.USER=="") {
						//不弹窗  直接设置默认  写入配置文件
						pz.setKeyD();
						pz.set();
					}
				}
				String url = "jdbc:mysql://"+Shezhi.ADDRESS+":"+Shezhi.PORT+"/"+Shezhi.MYSQLNAME;
				String namej=name.getText();
				String passj=pass.getText();
				System.out.println(namej);
				System.out.println(passj);
				//这里类Shezhi 
				Msql mysql=new Msql();
				mysql.Lj(url, Shezhi.USER, Shezhi.PASSWORD,namej,passj);
				//检查数据库情况  不可以  提示
				
				//连接成功   检查用户名  密码 权限
				//
				
				//mysql.Mlogin(namej, passj);
				//String url = "jdbc:mysql://"+Shezhi.ADDRESS+":"+Shezhi.PORT+"/"+Shezhi.MYSQLNAME+"??useSSL=false&useUnicode=true&characterEncoding=utf8";
				//String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
				//Mysql mysql=new Mysql();
				//mysql.Lj(url, Shezhi.USER, Shezhi.PASSWORD);
			}
		});
		ljtest.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				/* String url2 = "jdbc:mysql://qdm153527181.my3w.com:3306/qdm153527181_db";
				 String root="qdm153527181";
				 String password="6z687338";
				 Msql mysql=new Msql();
				 mysql.Lj(url2, root, password);*/
				String url2 = "qdm153527181.my3w.com";
				String url4 = "3306";
				String url6 = "qdm153527181_db";
				String url7 = "jdbc:mysql://"+url2+":"+url4+"/"+url6;
				 String urll = "jdbc:mysql://qdm153527181.my3w.com:3306/qdm153527181_db";
				 String root="qdm153527181";
				 String password="6z687338";
				 System.out.println(url7);
				 Msql mysql=new Msql();
				 mysql.Lj(urll, root, password,name.getText(),pass.getText());
				
				
			}
			
		});
		this.setVisible(true);
	}
	public static void creatfile() {//创建文件夹和文件a.properties配置文件
		File file=new File(System.getProperty("user.dir") + "\\res");
		//不在主类中使用吗？？
		if(!file.exists()){
			file.mkdirs();
		}
		File filea=new File(System.getProperty("user.dir") + "\\res\\a.properties");
		if(!filea.exists()){
			try {
				filea.createNewFile();
			} catch (IOException e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		//new Cjframe();
		//读取配置文件  查看设置是否正确  
			//提示框提醒
		//检查 连接 数据库MYsql
		//检查配置文件是否存在
		//判断文件夹  在文件
		
		// TODO 自动生成的方法存根
		creatfile();//1	
		new Login("用户登录界面");//2
		
		/*Properties p = new Properties();//在主方法中可以？？其他类这里就不行？？
		try {
			InputStream in=new BufferedInputStream(new FileInputStream("a.properties"));
			p.load(in);
			Iterator<String> iterator=p.stringPropertyNames().iterator();
			
		}
		catch(Exception e) {
			
		}*/
		
	}
}